package com.ssy.lingxi.order.model.vo.basic.request;

import com.ssy.lingxi.order.handler.annotation.OrderModeAnnotation;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import java.io.Serializable;
import java.util.List;

/**
 * 创建订单之前，查询支付方式接口参数
 * @author 万宁
 * @version 2.0.0
 * @date 2021-07-27
 */
public class OrderProcessPayVO implements Serializable {
    private static final long serialVersionUID = -654195220510265070L;

    /**
     * （供应商）会员Id
     */
    @NotNull(message = "供应商会员Id要大于0")
    @Positive(message = "供应商会员Id要大于0")
    private Long memberId;

    /**
     * （供应商）会员角色Id
     */
    @NotNull(message = "供应商会员角色Id要大于0")
    @Positive(message = "供应商会员角色Id要大于0")
    private Long roleId;

    /**
     * 商城Id
     */
    @NotNull(message = "商城Id要大于0")
    @Positive(message = "商城Id要大于0")
    private Long shopId;

    /**
     * 下单模式
     */
    @NotNull(message = "下单模式不能为空")
    @OrderModeAnnotation
    private Integer orderMode;

    /**
     * 商品列表
     */
    @NotEmpty(message = "商品列表不能为空")
    private List<ProductIdVO> products;

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public Integer getOrderMode() {
        return orderMode;
    }

    public void setOrderMode(Integer orderMode) {
        this.orderMode = orderMode;
    }

    public List<ProductIdVO> getProducts() {
        return products;
    }

    public void setProducts(List<ProductIdVO> products) {
        this.products = products;
    }
}
